Three-dimensional (3D) television has been a technology trend in recent years that is targeted to bring viewers sensational viewing experience. Multi-view video is a technique to capture and render 3D video. The multi-view video is typically created by capturing a scene using multiple cameras simultaneously, where the multiple cameras are properly located so that each camera captures the scene from one viewpoint. The multi-view video with a large number of video sequences associated with the views represents a massive amount data. Accordingly, the multi-view video will require a large storage space to store and/or a high bandwidth to transmit. Therefore, multi-view video coding techniques have been developed in the field to reduce the required storage space and the transmission bandwidth. In three-dimensional and multi-view coding systems, the texture data as well as depth data are coded.
For depth map, the Simplified Depth Coding (SDC), which is also termed as Segment-wise DC Coding, is an alternative Intra coding mode. Whether SDC is used is signalled by a SDC flag at coding unit (CU) level. For SDC, the depth block is Intra predicted by a conventional Intra mode or depth modelling mode 1. The partition size of SDC-coded CU is always 2N×2N and therefore there is no need for signaling in the bitstream regarding the block size of SDC-coded CU. Furthermore, instead of coded as quantized transform coefficients, the SDC-coded residuals are represented by one or two constant residual values depending on whether the depth block is divided into one or two segments.
According to existing three-dimensional video coding based on HEVC (3D-HEVC), certain information is signalled for SDC-coded blocks. The information signalled includes:                1. type of segmentation/prediction of the current block. Possible values are                    i. DMM (Depth Modelling Mode) Mode 1—Explicit Wedgelets (2 segments)            ii. Planar (1 segment)                        2. For the DMM, additional prediction information (e.g., partition information) is coded.        3. For each resulting segment, a residual value (in the pixel domain) is signalled in the bitstream        
In the depth coding process, the depth samples are first mapped to limited depth values. The limited depth values are represented by a Depth Lookup Table (DLT), and after mapping depth samples into limited depth values, these limited depth values are used as the indexes pointing to entries of the DLT. Consequently, residuals can be generated by taking the difference between the DLT index of the predictor and the original depth samples; the index residual can then be coded and sent to the decoder. The depth values present in a depth map are usually limited to a number smaller than the total number that can be represented by a depth capture device. Therefore, the use of DLT can reduces the bit depth required for residual magnitudes. This mapping table is transmitted to the decoder so that the inverse lookup from an index to a valid depth value can be performed at the decoder.
At the encoder side, the residual index iresi to be coded into the bitstream, is determined according to:iresi=I(dorig)−I(dpred),  (1)where dorig denotes an original depth value determined for the depth block (e.g., the mean value of the original depth block), dpred denotes the predicting depth value (e.g., the mean value of the prediction samples for the depth block), and I(.) denotes the Index Lookup Table. The computed residual index iresi is then coded with a significance flag, a sign flag and with ┌ log2 dvalid┐ bits for the magnitude of the residual index, where dvalid denotes the number of valid depth values and ┌x┐ is a ceiling function corresponding to the smallest integer not less than x.
The Depth Lookup Table takes advantage of the sparse property of the depth map, where only a small number of depth values out of a full available depth range (e.g., 28) will typically be present in the depth map. In the encoder, a dynamic depth lookup-table is constructed by analyzing a number of frames (e.g. one Intra period) of the input sequence. This depth lookup-table is used during the coding process to reduce the effective signal bit-depth of the residual signal.
In order to reconstruct the lookup table, the encoder reads a pre-defined number of frames from the input video sequence to be coded and scans all samples for presence of the depth values. During this process a mapping table is generated that maps depth values to existing depth values based on the original uncompressed depth map.
The Depth Lookup Table D(.), the index Lookup Table I(.), the Depth Mapping Table M(.) and the number of valid depth values dvalid are derived by the following process that analyses the depth map Dt:
1. Initialization                boolean vector B(d)=FALSE for all depth values d,        index counter i=0.        
2. Process each pixel position p in Dt for multiple time instances t:                Set B(Dt(p))=TRUE to mark valid depth values.        
3. Count the number of TRUE values in B(d). The result is set to the value for dvalid.
4. For each d with B(d)==TRUE:                Set D(i)=d,        Set M(d)=d,        Set I(d)=i, and        i=i+1.        
5. For each d with B(d)==FALSE:                Find {circumflex over (d)}=arg min|d−{circumflex over (d)}| and B({circumflex over (d)})==TRUE        Set M(d)={circumflex over (d)}.        
6. Set I(d)=I({circumflex over (d)}).
As mentioned above, there are two types of segmentation and prediction in the existing SDC. The respective processes for the two types of segmentation and prediction are described as follows.
DMM Mode:                Edge information is defined by start/end side and corresponding index.        The DC prediction value (i.e., predicting depth value (dpred)) for each segment are predicted by neighboring depth values (also referred as neighboring depth samples or neighboring samples in this disclosure) as shown in FIG. 1. Two examples of depth blocks (110 and 120) are shown in FIG. 1, where each depth block is divided into two segments as shown by the dashed line. The reconstructed neighboring depth samples used to generate prediction samples for block 110 are indicated by reference numbers 112 and 114, and the reconstructed neighboring depth samples used to generate prediction samples for block 120 are indicated by reference numbers 122 and 124 in FIG. 1.        
Planar Mode:                Generate the predictors (i.e., prediction samples) of the Planar mode as shown in FIG. 2. Linear interpolation is used to generate predictors for the right column and the bottom row as shown in FIG. 2A. For the right column, the linear interpolation is based on depth values at A and Z. For the bottom row, the linear interpolation is based on depth values at B and Z. After the right column and the bottom row are interpolated, the predictors for the rest of depth positions are bilinear interpolated using four respective depth samples from four sides as shown in FIG. 2B.        The DC prediction value (i.e., a single predicting depth value (dpred) for the block) is the mean of the predictors of the Planar mode.        
In the above derivation processes, prediction sample refers to the predicted value generated by the Intra coding mode, which may be DMM Mode 1 or the Planar mode in the existing 3D-HEVC. The reconstruction process for the Planar mode at the decoder side is illustrated in FIG. 3. The DC prediction value (PredDC) for the current depth block (310) is determined based on the mean of the predicted depth samples for the current depth block. The predicted depth values for the current depth block are derived using linear interpolation (right column and bottom row) and bilinear interpolation (other depth samples) of neighboring reconstructed depth values. In FIG. 3, the predicted depth values are shown in the current depth block (310). To reconstruct the depth value (RecDC) for the current depth block, a DLT index is first obtained by adding residual index to the DLT index of PredDC. The reconstructed depth value (RecDC) for the current depth block is then obtained by applying inverse lookup on this derived index. The residual pixel value (pixel domain) is then obtained by taking difference of RecDC and PredDC. The final reconstructed depth block (320) is derived by adding this residual pixel value to each prediction sample of the current block.
The reconstruction process for the DMM Mode 1 at the decoder side is illustrated in FIG. 4. The current depth block (410) is divided into two segments. The DC prediction values (PredDC1 and PredDC2) for the two segments of the current depth block (410) are determined based on respective neighboring reconstructed depth values. In FIG. 4, the predicted depth values are shown in the current depth block (410). To reconstructed depth values (RecDC1 and RecDC2) for the two segments of the current depth block, two DLT indexes are first obtained by adding corresponding residual index to the DLT index of PredDC1 and PredDC2. The reconstructed depth value (RecDC1 and RecDC2) for the current depth block is then obtained by applying inverse lookup on this derived index. The residual pixel value (pixel domain) is then obtained by taking difference of RecDC1 and PredDC1, and RecDC2 and PredDC2, respectively. The final reconstructed depth block (420) is derived by adding this residual pixel value to each prediction sample of each segment of the current block.
In the conventional SDC for depth block coding, only limited prediction modes are provided. It is desirable to extend the prediction modes to improve coding efficiency.